package com.test.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import com.google.gson.Gson;

// 需要封装一个jdbc类操作
// 用户收藏表相关操作
public class UserCollection {
	// 根据用户id获取收藏的记录，返回json数据
	public String getUserCollection(String useId){
		 	try{   		 
		 		//jdbc例子	 http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html
		 		// dao例子 http://blog.csdn.net/cryhelyxx/article/details/24877741
			    //1、加载JDBC驱动程序：   加载MySql的驱动类   
			    Class.forName("com.mysql.jdbc.Driver") ;   
			 }catch(ClassNotFoundException e){   
				    System.out.println("找不到驱动程序类 ，加载驱动失败！");   
				    e.printStackTrace() ;   
			    }   
			
//		 2、提供JDBC连接的URL   
//		 3、创建数据库的连接   
		 String url = "jdbc:mysql://localhost:3306/test" ;    
	     String username = "root" ;   
	     String password = "123456" ;  
	     Connection con = null;
	     try{   
	    	 con =    
	             DriverManager.getConnection(url , username , password ) ;   
	     }catch(SQLException se){   
		    System.out.println("数据库连接失败！");   
		    se.printStackTrace() ;   
		}
	     
//	     4、创建一个Statement   
	     Statement stmt = null;
		try {
			stmt = con.createStatement();
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}   
//	     5、执行SQL语句   
	     ResultSet rs = null;
			try {
				rs = stmt.executeQuery("SELECT * FROM collection where user_id="+useId);
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}   
	     //6、处理结果
	     try {
			while(rs.next()){   
				UserCollectionJsonObj obj = new UserCollectionJsonObj();
				obj.res_id = rs.getString("res_id");
				obj.user_id = useId;
				obj.video_name = rs.getString("video_name");
				obj.video_url = rs.getString("video_url");
				obj.video_thumbnail_url = rs.getString("video_thumbnail_url");					
			     mLists.add(obj);
			 }
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}   
	     
	     // 7、关闭JDBC对象    
	     //   1、关闭记录集   
//	     2、关闭声明   
//	     3、关闭连接对象   
	     if(rs != null){   // 关闭记录集   
	         try{   
	             rs.close() ;   
	         }catch(SQLException e){   
	             e.printStackTrace() ;   
	         }   
	      }   
	           if(stmt != null){   // 关闭声明   
		         try{   
		             stmt.close() ;   
		         }catch(SQLException e){   
		             e.printStackTrace() ;   
		         }   
	           }   
	           if(con != null){  // 关闭连接对象   
		          try{   
		             con.close() ;   
		          }catch(SQLException e){   
		             e.printStackTrace() ;   
		          }   
	           }  
	           Gson gson = new Gson();
	           return gson.toJson(mLists);
	}
	
	class UserCollectionJsonObj{
		String res_id;
		String user_id;
		String video_name;
		String video_thumbnail_url;
		String video_url;
	}
	
	ArrayList<UserCollectionJsonObj> mLists = new ArrayList<UserCollectionJsonObj>(); 
}
